package com.yunxi.service.localService.sto;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.service.IServicePlus;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.dealer.pojo.PartnerVO;
import com.yunxi.model.sto.StoStockOutPlan;
import com.yunxi.sto.pojo.*;
import java.util.List;

/**
 * <p>
 * 车辆出库计划单 服务类
 * </p>
 *
 * @author caoYong
 * @since 2019-05-20
 */
public interface StoStockOutPlanService extends IServicePlus<StoStockOutPlan> {

    void delAndReset(List<String> list, Integer isDel,String userId) throws Exception;

    void print(String stoStockOutPlanId);

    List vinList(PartnerVO vo);

    void replace(StoStockOutPlanReplaceVO stoStockOutPlanReplaceVO,String userId)throws Exception;

    void beginStockOut(StoStockScanVO stoStockScanVO)throws Exception;

    void complete(StoStockScanVO stoStockScanVO, LoginInfo loginInfo)throws Exception;

    void changeLendOrderStatus(String vin,Integer oldPrderState, Integer orderState,String outRfid,String inRfid);

    void changeVehicleStatus(String vin,Integer storageStatus,String carState);

    List<StoStockOutPlanVO> export(StoStockOutPlanVO stoStockOutPlanVO) throws Exception;

    PageInfo<StoStockOutPlanLateVO> lateStockOutPlan(StoStockOutPlanLateVO stoStockOutPlanLateVO,Integer pageNum,Integer pageSize)throws Exception;

    List<StoStorageStaffDriverVO> getDriver(StoStorageStaffDriverVO stoStorageStaffDriverVO)throws Exception;

    List<StoStockOutPlanVO> planListByVin(String vin,String rfid);

    StoStockOutPlanVO getDetail(String id);
}
